#include<stdio.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<unistd.h>

// 理解文件描述符的分配规则 || 以及重定向的原理

int main()
{
    //close(0); // 关掉标准输入流0这个文件，空出文件描述符表下标为0的这个位置
    close(1); // 空出文件描述符表下标为1的这个位置
    //close(2); // 空出文件描述符表下标为2的这个位置
    int fd = open("text.txt", O_WRONLY | O_CREAT | O_TRUNC, 0666);
    if(fd < 0)
    {
        perror("open error");
        return 1;
    }

    printf("fd : %d\n", fd); // 当关掉1时，会发生重定向
    fflush(stdout);

    close(fd);

    return 0;
}
